#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int p=998244353;
inline void chadd(int &x,int y){
  if((x+=y)>=p)x-=p;
}
main(){
  freopen("trade.in","r",stdin);
  freopen("trade.out","w",stdout);
  ios::sync_with_stdio(false);
  cin.tie(0); cout.tie(0);
  int n,s=1,r=0; cin>>n;
  vector<int> a(n);
  for(auto &i:a)cin>>i,s*=i+1;
  if(n<=30&&s<=1e6){
    vector<int> v(n);
    set<vector<int> > s;
    function<void(int)> dfs=[&](int u){
      if(u==n){s.emplace(v); return;}
      for(int i=0;i<=a[u];i++){
        v[u]+=i,v[(u+1)%n]+=a[u]-i;
        dfs(u+1);
        v[u]-=i,v[(u+1)%n]-=a[u]-i;
      }
    };
    dfs(0);
    for(auto i:s){
      int x=1;
      for(int j:i)x=1ll*x*j%p;
      chadd(r,x);
    }
  }
  else{
    int mn=1;
    for(int i:a)mn=min(mn,i);
    cout<<mn<<endl;
  }
  cout<<r<<endl;
  return 0;
}